Data protection plays an increasingly important role in today's computer systems. Data protection often involves regular backups of data. Data may be backed up in various ways, such as by creating a snapshot of a disk to back up a file system. A snapshot may include a backup copy of data as it appeared at a certain point in time. Typically, a portion of disk data is stored in a separate memory associated with the disk, such as in in-core file system buffers. Before creating a snapshot of a disk, any data held in that associated memory typically needs to be flushed to the disk so that a consistent snapshot of the disk can be taken.
There are various methods that may be used to backup inconsistent disk data. For example, a snapshot may be created of the inconsistent data, followed by the execution of a utility that can make the snapshot consistent, such as fsck in UNIX or chkdsk in Windows. However, this can be time consuming when backing up a large file system. A file system can be unmounted, but this would require closing applications and disrupting the user, which may be unacceptable. There are file systems that provide a facility to flush the associated memory to disk while somehow preventing system I/O from altering the disk image of that file system. However, these are internal to the file system and typically cannot be used with other file systems. It would be desirable to have a system that can efficiently make a disk consistent for file system backup or other applications.